<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // onclick 和 addEventListener 区别
        //   0级事件和2级事件

        // 0级：只触发一个事件，后面的覆盖前面的

        // 2级：事件不会覆盖，后面和前面的事件都会执行

        // 前面案例  模拟下拉框有bug   这个li和 document 的事件会执行多次


        // 事件流  -- 冒泡流和捕获流

        // 事件对象 --- 参数 e

        // 阻止事件冒泡

        // 事件委托
        //    概念：子元素的同类型事件委托给父元素实现
        //    原理：事件冒泡
        //    优点：减少事件处理函数，可以给未来的对象添加事件绑定

    </script>
    
</body>
</html>